package com.steve.summary.seata.service;

import com.steve.summary.seata.entity.Account;

import java.math.BigDecimal;

/**
 * @Author: STEVE
 * @Description: 账户服务接口
 * @since: 2025-07-08
 */
public interface AccountService {

    /**
     * 扣减账户余额
     * @param userId 用户ID
     * @param money 扣减金额
     */
    void decrease(String userId, BigDecimal money);

    /**
     * 获取账户信息
     * @param userId 用户ID
     * @return 账户信息
     */
    Account getByUserId(String userId);

    /**
     * 恢复账户余额
     * @param userId 用户ID
     * @param money 恢复金额
     */
    void increase(String userId, BigDecimal money);

}
